﻿// #if UNITY_IOS
// using System;
// using System.Threading;
//
// namespace Notifications.Runtime.iOS
// {
//     public class iOSBackgroundNotificationTask : IDisposable
//     {
//         public const int TICK_TIME = 1000;
//         public iOSBackgroundGameNotification Notification { get; set; }
//         private Thread _monitorThread;
//         public iOSBackgroundNotificationTask(iOSBackgroundGameNotification notification)
//         {
//             Notification = notification;
//         }
//         
//         public void SendNotification()
//         {
//             Notification.NeedClose = false;
//             KillThread();
//             _monitorThread = new Thread(Update);
//             _monitorThread.Start();
//         }
//         
//         public void Wait()
//         {
//             KillThread();
//         }
//         
//         public void ClearNotification()
//         {
//             KillThread();
//             iOSBackgroundNotificationCenter.RemoveDeliveredNotification(Notification.GetId());
//         }
//
//         private void Update()
//         {
//             while (!Notification.GetNeedClose())
//             {
//                 if (!GameNotificationsManager.IsInstanceCreated)
//                 {
//                     continue;
//                 }
//           
//                 Thread.Sleep(TICK_TIME);
//             }
//         }
//
//         private void KillThread()
//         {
//             if (_monitorThread!= null)
//             {
//                 _monitorThread.Abort();
//                 _monitorThread.IsBackground = true;
//             }
//             _monitorThread = null;
//         }
//
//         public void Dispose()
//         {
//             KillThread();
//         }
//     }
// }
// #endif